import java.util.Scanner;

public class Text1_13 {
    public static void main1(String[] args) {
        //一、计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值    。
        double sum=0;
        for(double i=1;i<=100;i++){
            double j=(1/i);
            if(i%2==1){
                sum+=j;
            }
            else{
                sum-=j;
            }
        }
        System.out.println(sum);
    }

    public static void main2(String[] args) {
        //二、输出整数的每一位
        Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        int m;
        int j=1;
        for (int i = 1; num/i!=0 ; i*=10) {
            m= (int) ((num/(Math.pow(10,j-1)))%10);
            System.out.print(m+" ");
            j++;
        }
    }

    public static void main3(String[] args) {
        //三、编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,
        //密码错误可以重新输入，最多输入三次。三次均错，则提示退出程序
        String password="abc123";
        Scanner sc=new Scanner(System.in);
        String num;
        int i=0;
        System.out.println("请输入密码：");
        while (i<3){
            num=sc.nextLine();
            if(num.equals(password)){
                System.out.println("登陆成功");
                i=999;
            }
            else{
                System.out.print("密码错误 ");
                i++;
                if(i==1){
                    System.out.println("还有两次机会，请重新输入：");
                }
                else if(i==2){
                    System.out.println("还有一次机会，请重新输入：");
                }
                else{
                    System.out.println("三次输入全错，退出程序");
                }
            }
        }
    }

    //四、创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
    //要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算
    public static int max2(int x,int y){
        return (x>y)?x:y;
    }
    public static int max3(int x2,int y2,int z2){
        int z=max2(x2,y2);
        return (z>z2)?z:z2;
    }
    public static void main4(String[] args) {
        int a=9;
        int b=99;
        int c=999;
        System.out.println(max3(a,b,c));;
    }

    public static void main5(String[] args) {
        //五、求斐波那契数列的第n项
        int a1=0;
        int a2=1;
        int m=0;
        int k=0;
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        for (int i = 0; i <n ; i++) {
            k=a1;
            m=a2+a1;
            a1=a2;
            a2=m;
        }
        System.out.println(k);
    }

    //六、在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
    public static int sum(int x,int y) {
        return x+y;
    }
    public static float sum(float x,float y,float z) {
        return x+y+z;
    }
    public static void main6(String[] args) {
        System.out.println(sum(99,100));
        System.out.println(sum(2.1f,2.2f,3.3f));
    }

    //七、在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值
    public static int max(int x,int y) {
        return x>y?x:y;
    }
    public static float max(float x,float y,float z) {
        return (x>y?x:y)>z?(x>y?x:y):z;
    }
    public static void main7(String[] args) {
        System.out.println(max(99,100));
        System.out.println(max(2.1f,2.2f,3.3f));
    }

    //八、多组输入，一个整数（2~20），表示输出的行数，也表示组成“X”的反斜线和正斜线的长度
    public static void main8(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(true){
            int n=sc.nextInt();
            for (int i = 1; i <=n ; i++) {
                for (int j = 1; j <=n; j++) {
                    if((j==i)||(j==(n-i+1))){
                        System.out.print("*");
                    }
                    else{
                        System.out.print(" ");
                    }
                }
                System.out.println();
            }
            break;
        }
    }

    //九、递归求n的阶乘
    public static int factor(int n) {
        if (n != 0) {
            return n * factor(n - 1);
        }
        else{
            return 1;
        }
    }
    public static void main9(String[] args) {
        System.out.println(factor(5));
    }

    //十、利用递归实现斐波那契数列
    public static int an(int n) {
        if(n>2){
            return an(n-2)+an(n-1);
        }
        else{
            return 1;
        }
    }
    public static void main10(String[] args) {
        System.out.println(an(6));
    }

    public static void main(String[] args) {
        int[] arr=new int[]{41,32,34,40,35};
        int[] arr2;
        arr2=new int[5];
        int[] arr3={22,33,44};
        System.out.println(arr[0]);
    }
}
